package com.app.base.service.core.personnel.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;

import java.math.BigDecimal;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 人才详情
 * @author yuhag
 * @since 2022-05-11
 */
@Data
@EqualsAndHashCode
@Accessors(chain = true)
@ApiModel(value="PersonInfo对象", description="员工详情")
public class PersonInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.ID_WORKER_STR)
    private String id;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "性别 0 男 1 女")
    private Integer sex;

    @ApiModelProperty(value = "年龄")
    private Integer age;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "手机号")
    private String phone;

    @ApiModelProperty(value = "当前住址")
    private String address;

    @ApiModelProperty(value = "籍贯")
    private String nativePlace;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "政治面貌 0 党员 1 团员 2 群众")
    private Integer politicCountenance;

    @TableField(exist = false)
    private String  politicCountenanceStr;

    @ApiModelProperty(value = "学历 0 博士 1 硕士 2 本科 3专科 4 其他")
    private Integer education;

    @TableField(exist = false)
    private String educationStr;

    @ApiModelProperty(value = "毕业学校")
    private String graduationSchool;

    @ApiModelProperty(value = "审核人 对应人事部 员工id")
    private String reviewer;

    @ApiModelProperty(value = "当前公司")
    private String companyId;

    @ApiModelProperty(value = "期望岗位")
    private String expectedPosition;

    @ApiModelProperty(value = "期望薪资")
    private BigDecimal expectedSalary;

    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    @ApiModelProperty(value = "创建人")
    private String createdBy;

    @ApiModelProperty(value = "修改人")
    private String modifyBy;

    @TableField(exist = false)
    private List<WorkExperience> works;

    @ApiModelProperty(value = "是否入职 0 未入职 1已入职")
    private Integer status;

    @ApiModelProperty(value = "当前状态 0未开始 1一面通过 2二面通过 3终面通过 4未通过")
    private Integer reviewStatus;

    @ApiModelProperty(value = "通过时间")
    private Date reviewDate;


}
